package com.group.transaction.enums;

import lombok.Getter;

/**
 * 时间格式字符串杖举类
 *
 * @author YunXing Pang
 * @date 2019/8/12
 */
@Getter
public enum DateTimeEnum {
    /**
     * 时间格式字符串：yyyy-MM-dd HH:mm:ss,SSS
     */
    NORMAL_YYYY_MM_DD_HH_MM_SS_SSS("yyyy-MM-dd HH:mm:ss,SSS", "[0-9]{4}-[0-9]{2}-[0-9]{2} [0-9]{2}:[0-9]{2}:[0-9]{2},[0-9]{3}"),

    /**
     * 时间格式字符串：yyyyy-MM-dd HH:mm:ss
     */
    NORMAL_YYYY_MM_DD_HH_MM_SS("yyyy-MM-dd HH:mm:ss", "[0-9]{4}-[0-9]{2}-[0-9]{2} [0-9]{2}:[0-9]{2}:[0-9]{2}"),

    /**
     * 时间格式字符串：yyyy-MM-dd HH:mm
     */
    NORMAL_YYYY_MM_DD_HH_MM("yyyy-MM-dd HH:mm", "[0-9]{4}-[0-9]{2}-[0-9]{2} [0-9]{2}:[0-9]{2}"),

    /**
     * 时间格式字符串：
     */
    NORMAL_YYYY_MM_DD("yyyy-MM-dd", "[0-9]{4}-[0-9]{2}-[0-9]{2}"),

    /**
     * 时间格式字符串：
     */
    NORMAL_YYYY_MM("yyyy-MM", "[0-9]{4}-[0-9]{2}"),

    /**
     * 时间格式字符串：HH:mm:ss,SSS
     */
    NORMAL_HH_MM_SS_SSS("HH:mm:ss,SSS", "[0-9]{2}:[0-9]{2}:[0-9]{2},[0-9]{3}"),

    /**
     * 时间格式字符串：HH:mm:ss
     */
    NORMAL_HH_MM_SS("HH:mm:ss", "[0-9]{2}:[0-9]{2}:[0-9]{2}"),

    /**
     * 时间格式字符串：HH:mm
     */
    NORMAL_HH_MM("HH:mm", "[0-9]{2}:[0-9]{2}"),

    /**
     * 时间格式字符串：yyyy/MM/dd HH:mm:ss,SSS
     */
    SLASH_YYYY_MM_DD_HH_MM_SS_SSS("yyyy/MM/dd HH:mm:ss,SSS", "[0-9]{4}/[0-9]{2}/[0-9]{2} [0-9]{2}:[0-9]{2}:[0-9]{2},[0-9]{3}"),

    /**
     * 时间格式字符串：yyyy/MM/dd HH:mm:ss
     */
    SLASH_YYYY_MM_DD_HH_MM_SS("yyyy/MM/dd HH:mm:ss", "[0-9]{4}/[0-9]{2}/[0-9]{2} [0-9]{2}:[0-9]{2}:[0-9]{2}"),

    /**
     * 时间格式字符串：yyyy/MM/dd HH:mm
     */
    SLASH_YYYY_MM_DD_HH_MM("yyyy/MM/dd HH:mm", "[0-9]{4}/[0-9]{2}/[0-9]{2} [0-9]{2}:[0-9]{2}"),

    /**
     * 时间格式字符串：yyyy/MM/dd
     */
    SLASH_YYYY_MM_DD("yyyy/MM/dd", "[0-9]{4}/[0-9]{2}/[0-9]{2}"),

    /**
     * 时间格式字符串：yyyy/MM
     */
    SLASH_YYYY_MM("yyyy/MM", "[0-9]{4}/[0-9]{2}"),
    ;

    private final String format;

    private final String regular;

    DateTimeEnum(String format, String regular) {
        this.format = format;
        this.regular = regular;
    }
}
